package com.fdb.efp.nls.service.impl;

import com.alibaba.fastjson.JSON;
import com.fdb.basic.framework.core.base.FrameworkService;
import com.fdb.efp.nls.service.dao.ColltTaskInfoDao;
import com.fdb.efp.nls.service.domain.ColltTaskInfo;
import com.fdb.efp.nls.service.facade.ColltTaskInfoService;
import com.fdb.efp.nls.service.vo.ColltTaskInfoVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Objects;


/**
 * Service Impl: 催收任务信息服务实现
 *
 * @author ligm
 * @date 2019-08-27
 */
@Service("colltTaskInfoService")
public class ColltTaskInfoServiceImpl implements ColltTaskInfoService, FrameworkService {

    private static Logger logger = LoggerFactory.getLogger(ColltTaskInfoServiceImpl.class);

    @Autowired
    private ColltTaskInfoDao colltTaskInfoDao;

    /**
     * 新增数据
     *
     * @param inColltTaskInfoVo
     * @return
     */
    public int insertColltTaskInfo(ColltTaskInfoVO inColltTaskInfoVo) {
        logger.debug("当前新增数据为:" + inColltTaskInfoVo.toString());
        int num = 0;
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(inColltTaskInfoVo, colltTaskInfo);
            num = colltTaskInfoDao.insertColltTaskInfo(colltTaskInfo);
        } catch (Exception e) {
            logger.error("新增数据发生异常!", e);
            num = -1;
        }
        logger.debug("当前新增数据条数为:" + num);
        return num;
    }

    /**
     * 根据主键删除信息
     *
     * @param inColltTaskInfoVo
     * @return
     */
    public int deleteByPk(ColltTaskInfoVO inColltTaskInfoVo) {
        logger.debug("当前删除数据条件为:" + inColltTaskInfoVo);
        int num = 0;
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(inColltTaskInfoVo, colltTaskInfo);
            num = colltTaskInfoDao.deleteByPk(colltTaskInfo);
        } catch (Exception e) {
            logger.error("删除数据发生异常!", e);
            num = -1;
        }
        logger.debug("根据条件:" + inColltTaskInfoVo + "删除的数据条数为" + num);
        return num;
    }


    /**
     * 根据主键更新信息
     *
     * @param inColltTaskInfoVo
     * @return
     */
    public int updateByPk(ColltTaskInfoVO inColltTaskInfoVo) {
        logger.debug("当前修改数据为:" + inColltTaskInfoVo.toString());
        int num = 0;
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(inColltTaskInfoVo, colltTaskInfo);
            num = colltTaskInfoDao.updateByPk(colltTaskInfo);
        } catch (Exception e) {
            logger.error("修改数据发生异常!", e);
            num = -1;
        }
        logger.debug("根据条件:" + inColltTaskInfoVo + "修改的数据条数为" + num);
        return num;
    }

    /**
     * 根据主键查询详情
     *
     * @param inColltTaskInfoVo
     * @return
     */
    public ColltTaskInfoVO queryByPk(ColltTaskInfoVO inColltTaskInfoVo) {

        logger.debug("当前查询参数信息为:" + inColltTaskInfoVo);
        try {
            ColltTaskInfo queryColltTaskInfo = new ColltTaskInfo();
            beanCopy(inColltTaskInfoVo, queryColltTaskInfo);
            ColltTaskInfo queryRslColltTaskInfo = colltTaskInfoDao.queryByPk(queryColltTaskInfo);
            if (Objects.nonNull(queryRslColltTaskInfo)) {
                ColltTaskInfoVO outColltTaskInfoVo = beanCopy(queryRslColltTaskInfo, new ColltTaskInfoVO());
                logger.debug("当前查询结果为:" + outColltTaskInfoVo.toString());
                return outColltTaskInfoVo;
            } else {
                logger.debug("当前查询结果为空!");
            }
        } catch (Exception e) {
            logger.error("查询数据发生异常!", e);
        }
        return null;
    }


    /**
     * @param colltTaskInfoVo
     * @return
     */
    @SuppressWarnings("unchecked")
    public List<ColltTaskInfoVO> queryAllOwner(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户对应的数据信息的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfoVO> list = null;
        try {
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryAllOwnerByPage(colltTaskInfoVo);
            logger.debug("查看当前用户对应的数据信息的结果集数量为:" + colltTaskInfos.size());
            pageSet(colltTaskInfos, colltTaskInfoVo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;

    }


    /**
     * @param colltTaskInfoVo
     * @return
     */
    @SuppressWarnings("unchecked")
    public List<ColltTaskInfoVO> queryAllCurrOrg(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户及所属机构对应的数据信息的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryAllCurrOrgByPage(colltTaskInfoVo);
        logger.debug("查看当前用户及所属机构对应的数据信息的结果集数量为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            pageSet(colltTaskInfos, colltTaskInfoVo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;

    }


    /**
     * @param colltTaskInfoVo
     * @return
     */
    @SuppressWarnings("unchecked")
    public List<ColltTaskInfoVO> queryAllCurrDownOrg(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户所在机构及下属机构对应的数据信息的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryAllCurrDownOrgByPage(colltTaskInfoVo);
        logger.debug("查看当前用户所在机构及下属机构对应的数据信息的结果集数量为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            pageSet(colltTaskInfos, colltTaskInfoVo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    @Override
    public List<ColltTaskInfoVO> queryAllCurrOwnerPrd(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户当前的产品种类的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryAllCurrOwnerPrdByPage(colltTaskInfoVo);
        logger.debug("查看当前用户当前的产品种类的参数信息为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            pageSet(colltTaskInfos, colltTaskInfoVo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return list;
    }


    /**
     * TODO: <br>
     * <p>
     * 0.1:wanglihua:2019/8/28 20:04: TODO: <br>
     *
     * @return
     * @author wanglihua
     * @params * @param null
     * @date 2019/8/28 20:04
     * @version 0.1
     * @since 2019/8/28 20:04
     */
    @Override
    public List<ColltTaskInfoVO> queryExAllOwner(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户对应的数据信息的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfoVO> list = null;
        try {
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryExAllOwner(colltTaskInfoVo);
            logger.debug("查看当前用户对应的数据信息的结果集数量为:" + colltTaskInfos.size());
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    /**
     * TODO: <br>
     * <p>
     * 0.1:wanglihua:2019/8/28 20:04: TODO: <br>
     *
     * @return
     * @author wanglihua
     * @params * @param null
     * @date 2019/8/28 20:04
     * @version 0.1
     * @since 2019/8/28 20:04
     */
    @Override
    public List<ColltTaskInfoVO> queryExAllCurrOrg(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户及所属机构对应的数据信息的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryExAllCurrOrg(colltTaskInfoVo);
        logger.debug("查看当前用户及所属机构对应的数据信息的结果集数量为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    /**
     * TODO: <br>
     * <p>
     * 0.1:wanglihua:2019/8/28 20:04: TODO: <br>
     *
     * @return
     * @author wanglihua
     * @params * @param null
     * @date 2019/8/28 20:04
     * @version 0.1
     * @since 2019/8/28 20:04
     */
    @Override
    public List<ColltTaskInfoVO> queryExAllCurrDownOrg(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户所在机构及下属机构对应的数据信息的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryExAllCurrDownOrg(colltTaskInfoVo);
        logger.debug("查看当前用户所在机构及下属机构对应的数据信息的结果集数量为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    @Override
    public List<ColltTaskInfoVO> queryExAllCurrOwnerPrd(ColltTaskInfoVO colltTaskInfoVo) {
        logger.debug("查看当前用户当前的产品种类的参数信息为:" + colltTaskInfoVo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryExAllCurrOwnerPrd(colltTaskInfoVo);
        logger.debug("查看当前用户当前的产品种类的参数信息为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            pageSet(colltTaskInfos, colltTaskInfoVo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return list;
    }

    @Override
    public List<ColltTaskInfoVO> queryAllByCondition(ColltTaskInfoVO colltTaskInfoVo) {
        List<ColltTaskInfoVO> list = null;
        logger.debug("根据参数查询信息开始，参数为：" + JSON.toJSONString(colltTaskInfoVo));
        ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
        beanCopy(colltTaskInfoVo, colltTaskInfo);
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryAllByCondition(colltTaskInfo);
        logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
        try {
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return list;
    }

    @Override
    public List<ColltTaskInfoVO> queryByConditionPage(ColltTaskInfoVO colltTaskInfoVo) {
        List<ColltTaskInfoVO> list = null;
        logger.debug("根据参数查询信息开始，参数为：" + JSON.toJSONString(colltTaskInfoVo));
        ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
        beanCopy(colltTaskInfoVo, colltTaskInfo);
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryByConditionByPage(colltTaskInfo);
        logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
        try {
            pageSet(colltTaskInfos, colltTaskInfo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return list;
    }

    /**
     * 根据 催收方式=“专项催收” 和 催收员名称为空  查询全部数据
     *
     * @return
     * @author xiezw
     * @params * @param null
     * @date 2019/8/29 9:57
     * @version 0.1
     */
    @Override
    public List<ColltTaskInfoVO> queryByColltWayByPage(ColltTaskInfoVO colltTaskInfoVo) {
        List<ColltTaskInfoVO> list = null;
        logger.debug("根据参数查询信息开始，参数为：" + JSON.toJSONString(colltTaskInfoVo));
        ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
        beanCopy(colltTaskInfoVo, colltTaskInfo);
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryByColltWayByPage(colltTaskInfo);
        logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
        try {
            pageSet(colltTaskInfos, colltTaskInfo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return list;
    }

    /**
     * 根据 催收方式=“电话催收” 和 催收员名称为空  查询全部数据
     *
     * @return
     * @author dengzc
     * @date 2019/8/30 9:51
     * @version 0.1
     */
    @Override
    public List<ColltTaskInfoVO> queryByCallWayByPage(ColltTaskInfoVO colltTaskInfoVo) {
        List<ColltTaskInfoVO> list = null;
        logger.debug("根据参数查询信息开始，参数为：" + JSON.toJSONString(colltTaskInfoVo));
        ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
        beanCopy(colltTaskInfoVo, colltTaskInfo);
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryByCallWayByPage(colltTaskInfo);
        logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
        try {
            pageSet(colltTaskInfos, colltTaskInfo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return list;
    }

    @Override
    public List<ColltTaskInfoVO> getDistrCaseColltTasks(ColltTaskInfoVO colltTaskInfoVo) {

        List<ColltTaskInfoVO> result = null;
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(colltTaskInfoVo, colltTaskInfo);
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.getDistrCaseColltTasks(colltTaskInfo);
            if (Objects.nonNull(colltTaskInfos) && !colltTaskInfos.isEmpty()) {
                logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
                result = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
                return result;
            }
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return null;
    }

    @Override
    public List<ColltTaskInfoVO> getOutsPopColltTasks(ColltTaskInfoVO colltTaskInfoVo) {
        List<ColltTaskInfoVO> result = null;
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(colltTaskInfoVo, colltTaskInfo);
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.getOutsPopColltTaskByPage(colltTaskInfo);
            logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
            pageSet(colltTaskInfos, colltTaskInfo);
            result = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return result;
    }

    @Override
    public int batchUpdateVO(List<ColltTaskInfoVO> colltTaskInfoVOList) {
        int result = 0;
        logger.debug("批量更新的数据长度为：" + colltTaskInfoVOList.size());
        try {
            List<ColltTaskInfo> colltTaskInfoList = (List<ColltTaskInfo>) beansCopy(colltTaskInfoVOList, ColltTaskInfo.class);
            result = colltTaskInfoDao.batchUpdateDomain(colltTaskInfoList);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
            result = -1;
        }
        return result;
    }

    @Override
    public List<ColltTaskInfoVO> queryByTaskNo(List<String> taskNo) {
        logger.debug("根据参数查询信息开始，参数为：" + taskNo);
        try {
            List<ColltTaskInfo> colltTaskInfoList = colltTaskInfoDao.queryByTaskNo(taskNo);
            if (Objects.nonNull(colltTaskInfoList) && !colltTaskInfoList.isEmpty()) {
                List<ColltTaskInfoVO> outColltTaskInfoVo = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfoList, ColltTaskInfoVO.class);
                logger.debug("当前查询结果为:" + outColltTaskInfoVo.toString());
                return outColltTaskInfoVo;
            } else {
                logger.info("查询结果为空");
            }
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public int updateFlowInfo(ColltTaskInfoVO colltTaskInfo) {
        int num = 0;
        logger.debug("更新信息开始，参数为：" + colltTaskInfo);
        try {
            ColltTaskInfo taskInfodata = new ColltTaskInfo();
            beanCopy(colltTaskInfo, taskInfodata);
            num = colltTaskInfoDao.updateFlowInfo(taskInfodata);
        } catch (Exception e) {
            e.printStackTrace();
            num = -1;
            logger.error("更新催收任务信息失败！", e);
        }
        return num;
    }

    @Override
    public int batchUpdRebackVO(List<ColltTaskInfoVO> colltTaskInfoVOList) {
        int result = 0;
        logger.debug("批量更新的数据长度为：" + colltTaskInfoVOList.size());
        try {
            List<ColltTaskInfo> colltTaskInfoList = (List<ColltTaskInfo>) beansCopy(colltTaskInfoVOList, ColltTaskInfo.class);
            result = colltTaskInfoDao.batchUpdRebackDomain(colltTaskInfoList);
            logger.debug("批量成功更新的数据长度为：" + result);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
            result = -1;
        }
        return result;
    }

    @Override
    public List<ColltTaskInfoVO> queryInfosOverdue(ColltTaskInfoVO vo) {
        logger.debug("查看当前用户对应的数据信息的参数信息为:");
        List<ColltTaskInfoVO> list = null;
        try {
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryInfosOverdueByPage(vo);
            logger.debug("查看当前用户对应的数据信息的结果集数量为:" + colltTaskInfos.size());
            pageSet(colltTaskInfos, vo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    @Override
    public List<ColltTaskInfoVO> queryExInfosOverdue(ColltTaskInfoVO vo) {
        logger.debug("查看当前用户对应的数据信息的参数信息为:" + vo);
        List<ColltTaskInfoVO> list = null;
        try {
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryExInfosOverdue(vo);
            logger.debug("查看当前用户对应的数据信息的结果集数量为:"+ colltTaskInfos.size());
            pageSet(colltTaskInfos, vo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    @Override
    public int updateRebackVO(ColltTaskInfoVO colltTaskInfo) {
        int num = 0;
        logger.debug("更新信息开始，参数为：" + colltTaskInfo.toString());
        try {
            ColltTaskInfo taskInfodata = new ColltTaskInfo();
            beanCopy(colltTaskInfo, taskInfodata);
            num = colltTaskInfoDao.updateRebackInfo(taskInfodata);
            logger.info("更新数据量为:" + num);
        } catch (Exception e) {
            e.printStackTrace();
            num = -1;
            logger.error("更新催收任务信息失败！", e);
        }
        return num;
    }

    @Override
    public List<ColltTaskInfoVO> getRepamentCase(ColltTaskInfoVO colltTaskInfoVO) {
        List<ColltTaskInfoVO> result = null;
        logger.debug("查看参数信息为:" + colltTaskInfoVO);
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(colltTaskInfoVO, colltTaskInfo);
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.getRepamentCase(colltTaskInfo);
            if (Objects.nonNull(colltTaskInfos) && !colltTaskInfos.isEmpty()) {
                logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
                result = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
                return result;
            }
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return null;
    }

    @Override
    public ColltTaskInfoVO queryOverLmt(ColltTaskInfoVO colltTaskInfoVO) {
        logger.debug("当前查询参数信息为:" + colltTaskInfoVO);
        try {
            ColltTaskInfo queryColltTaskInfo = new ColltTaskInfo();
            beanCopy(colltTaskInfoVO, queryColltTaskInfo);
            ColltTaskInfo queryRslColltTaskInfo = colltTaskInfoDao.queryOverLmt(queryColltTaskInfo);
            if (Objects.nonNull(queryRslColltTaskInfo)) {
                ColltTaskInfoVO outColltTaskInfoVo = beanCopy(queryRslColltTaskInfo, new ColltTaskInfoVO());
                logger.debug("当前查询结果为:" + outColltTaskInfoVo.toString());
                return outColltTaskInfoVo;
            } else {
                logger.debug("当前查询结果为空!");
            }
        } catch (Exception e) {
            logger.error("查询数据发生异常!", e);
        }
        return null;
    }

    @Override
    public List<ColltTaskInfoVO> queryAllByCoop(String cooprOrgNo) {
        logger.debug("当前查询参数信息为:" + cooprOrgNo);
        List<ColltTaskInfoVO> result = null;
        try {
            List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryAllByCoop(cooprOrgNo);
            if (Objects.nonNull(colltTaskInfos) && !colltTaskInfos.isEmpty()) {
                logger.debug("根据参数查询信息的结果集数量为:" + colltTaskInfos.size());
                result = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
                return result;
            }
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }
        return null;
    }

    @Override
    public int rebackVOToOrign(ColltTaskInfoVO colltTaskInfoVO) {
        int num = 0;
        logger.debug("更新信息开始，参数为：" + colltTaskInfoVO.toString());
        try {
            ColltTaskInfo colltTaskInfo = new ColltTaskInfo();
            beanCopy(colltTaskInfoVO, colltTaskInfo);
            num = colltTaskInfoDao.rebackVOToOrign(colltTaskInfo);
            logger.info("更新数据量为:"+num);
        } catch (Exception e) {
            e.printStackTrace();
            num = -1;
            logger.error("更新催收任务信息失败！", e);
        }
        return num;
    }

    @Override
    public List<ColltTaskInfoVO> queryColltTaskInfoProps(ColltTaskInfoVO vo) {
        logger.debug("查看当前用户所在机构及下属机构对应的数据信息的参数信息为:" + vo.toString());
        List<ColltTaskInfo> colltTaskInfos = colltTaskInfoDao.queryColltTaskInfoPropsByPage(vo);
        logger.debug("查看当前用户所在机构及下属机构对应的数据信息的结果集数量为:" + colltTaskInfos.size());
        List<ColltTaskInfoVO> list = null;
        try {
            pageSet(colltTaskInfos, vo);
            list = (List<ColltTaskInfoVO>) beansCopy(colltTaskInfos, ColltTaskInfoVO.class);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return list;
    }

    @Override
    public ColltTaskInfoVO getColltTaskInfoVOByTaskNo(ColltTaskInfoVO vo){
        logger.debug("查看当前参数信息为:" + vo.toString());
        ColltTaskInfo colltTaskInfos = colltTaskInfoDao.getColltTaskInfoVOByTaskNo(vo);
        ColltTaskInfoVO resVO = new ColltTaskInfoVO();
        try {
            beanCopy(colltTaskInfos, resVO);
        } catch (Exception e) {
            logger.error("数据转换出现异常!", e);
        }

        return resVO;
    }
}
